<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:ed="livcos.org/ns/editor"
  xmlns:c="livcos.org/ns/cosmos"
  xmlns:t="livcos.org/ns/cosmos/type"
  xmlns:doc="livcos.org/ns/doc"
  xmlns:map="livcos.org/ns/map"
  xmlns="http://www.w3.org/1999/xhtml"
  exclude-result-prefixes="ed t c doc map">
  
  <xsl:import href="../style/base.xsl" />
  <xsl:import href="Entity.xsl" />
  
  <xsl:variable name="typeBase" select="'/livcos.org/type'"/>
  <xsl:variable name="templates" select="document(concat($typeBase,'/template.cosmos'))/*"/>
  
  <xsl:template match="node()|@*" mode="applyNode">
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Insert...</title>
        <link href="{$toDomainPath}/web/css/global.css" rel="stylesheet" type="text/css" />
        <link href="{$toDomainPath}/web/css/web.css" rel="stylesheet" type="text/css" />
        <link href="{$toDomainPath}/web/css/insert.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript" src="{$toDomainPath}/web/script/insert.js"><!-- --></script>
      </head>
      <body>
        <xsl:apply-templates select="." mode="filter"/>
      </body>
    </html>
  </xsl:template>
  
  <xsl:template match="node()|@*" mode="copy">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()" mode="copy"/>
    </xsl:copy>
  </xsl:template>
  
  <xsl:template match="node()|@*" mode="filter">
  	<xsl:apply-templates select="$templates//t:templates/*"/>
  </xsl:template>
  
  <xsl:template match="doc:*" mode="filter">
  </xsl:template>
  
  <xsl:template match="doc:paragraph" mode="filter">
    <xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:link/t:templates/*"/>
  </xsl:template>
  
	<xsl:template match="doc:chapter" mode="filter">
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:chapter/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:paragraph/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:table/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:list/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:image/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:markup/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:journal/c:journal/t:templates/*"/>
	</xsl:template>
	
	<xsl:template match="map:item" mode="filter">
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:paragraph/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:table/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:list/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:image/t:templates/*"/>
		<xsl:apply-templates select="$templates/c:livcos.org/c:ns/c:doc/c:markup/t:templates/*"/>
	</xsl:template>
	
	<xsl:template match="t:template">
    <xsl:variable name="tmplObjId">
      <xsl:text>/livcos.org/type</xsl:text>
      <xsl:for-each select="ancestor::c:*">
        <xsl:text>/</xsl:text>
        <xsl:value-of select="local-name()"/>
      </xsl:for-each>
    </xsl:variable>
    <span>
      <div onclick="select('{$tmplObjId}#{@id}')" class="label">
        <xsl:value-of select="t:title"/>
      </div>
      <div class="details">
        <xsl:value-of select="$tmplObjId"/>#<xsl:value-of select="@id"/>
      </div>
    </span>
  </xsl:template>
  
</xsl:stylesheet>
